package com.xigua._数学;

/**
 * @author LiRongHua
 * @Title: ${file_name}
 * @Package ${package_name}
 * @Description: 给你数字 k ，请你返回和为 k 的斐波那契数字的最少数目，其中，每个斐波那契数字都可以被使用多次。
 * @date 2022/2/314:06
 */
public class _1414_和为K的最少斐波那契数字数目 {

    public static void main(String[] args) {
        System.out.println(findMinFibonacciNumbers(10));
    }

    public static  int findMinFibonacciNumbers(int k) {
        int nums = 0;
        while (k!=0){
            k = findMaxFibonacciNumbers(k);
            nums++;
        }
        return  nums;
    }

    public static  int findMaxFibonacciNumbers(int k){
        int first = 1;
        int second = 1;
        while (second <= k){
            int temp = second;
            second = first +second;
            first = temp;
        }
        return k - first;
    }


}
